Clinical AI Kit home Documentation hub / Image Extraction Pipeline

Image Extraction Pipeline

SequentialAgent containing 7 specialist LLM agents, with a nested LoopAgent, processes clinical images through quality assessment, OCR, AI vision analysis, structured field extraction, critic/refiner validation, and review-request preparation. Clinician review and persistence remain external deterministic boundaries. Lanes: Agents, Validation Loop, Clinician.

flowchart TD
    subgraph LANE_AG["Lane: Pipeline agents"]
        QA["quality_assessor_agent (flash-lite)
assess_image_quality"] OCR["ocr_processor_agent (flash-lite)
extract_clinical_text"] VA["vision_analyzer_agent (pro-customtools)
analyze_clinical_image"] CS["clinical_structuring_agent (pro)
structure_clinical_findings, store_to_gcs"] RR["clinical_review_request_agent (flash-lite)
prepare pending review packet"] end subgraph LANE_LOOP["Lane: validation_gate (LoopAgent, Day 1b)"] CRIT{extraction_critic_agent
confidence >= threshold?} REF["extraction_refiner_agent
flag_for_review (fields < 0.80)"] EXIT["exit_loop"] end subgraph LANE_HITL["Lane: Clinician (HITL, Day 2b)"] GATE{Clinician review
transition_extraction_review} PERSIST["persist_extraction_relational
persist_extraction_vector"] DISCARD["Discard + reason logged"] end START([Clinical image uploaded]) --> QA --> OCR --> VA --> CS --> CRIT CRIT -->|below threshold| REF --> CRIT CRIT -->|passes| EXIT --> RR --> GATE GATE -->|approve| PERSIST --> DONE([Stored + timeline updated + audit event]) GATE -->|reject| DISCARD --> DONE2([Rejected, audit logged])

Key facts:

Related: Agent Architecture · End-to-End Request Flow